package com.nbjtjc.safe.bean;

import java.io.Serializable;

public class Constant implements Serializable {

    /**
     * 岗位中，时间的范围，隐患排查按每月，每周，每季度等类型来设定执行时间范围
     */
    public  enum SysPostTimeLimitType{
        /**
         * 每周
         */
        WEEK(1),
        /**
         * 每月
         */
        MONTH(2),
        /**每季度
         *
         */
        QUARTER(3),
        /**
         * 半年
         */
        HALFYEAR(4),
        /**
         * 每年
         */
        YEAR(5)
        ;
        private  int value;

        public  int getValue() {
            return value;
        }

         SysPostTimeLimitType(int value) {
            this.value = value;
        }
    }

    /**
     * 隐患排查的检查类型，
     * 自查，检查（检查自己单位），排查/督查(检查下级单位，或者下下级单位)
     */
    public  enum DangerInspectType{
        /**
         * 自查
         */
        SELF(0),
        /**
         * 检查，只检查自己单位的
         */
        COMPANYSELF(1),
        /**
         * 排查或者督查
         */
        SUPERVISE(2)
        ;
        private int value;

        public int getValue() {
            return value;
        }

        DangerInspectType(int value) {
            this.value=value;
        }
    }
    /**
     * 项目状态
     *
     * @author chenshun
     * @email sunlightcs@gmail.com
     * @date 2016年11月15日 下午1:24:29
     */
    public enum GoodsLogStatus {
        /**
         * 出库
         */
        OUTSIDE(0),
        /**
         * 归还
         */
        RETURN(1),
        /**
         * 入库
         */
        INSIDE(2);

        private int value;

        private GoodsLogStatus(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }
    public enum SysDeptType {
        /**
         * 部门
         */
        DEPT(0),
        /**
         * 公司
         */
        COMPANY(1);


        private int value;

        private SysDeptType(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    /**
     * 检查单的中的条例需不需要整改
     */
    public enum NeedChange{
        /**
         * 发布的检查单的检查条例中需要整改
         */
        NEED_CHANGE(1),
        /**
         * 不需要整改
         */
        UNNEED_CHANGE(0);
        private int value;
        private NeedChange(int value){
            this.value=value;
        }
        public int getValue(){
            return value;
        }
    }

    public enum InspectPublicStatus{
        /**
         * 未发布
         */
        UNPUBLIC(0),
        /**
         * 未审核
         */
        UN_EXAMINE(1),
        /**
         * 待检查
         */
        UN_INSPECT(2),
        /**
         * 检查待审核
         */
        INSPECT_UNEXAMINE(3),
        /**
         * 检查待确认
         */
        INSPECT_UN_CONFIRM(4),
        /**
         * 完成检查
         */
        FINISH_INSPECT(5),
        /**
         * 待整改
         */
        UN_RECTIFY(6),
        /**
         * 整改待审核
         */
        RECTIFY_UN_EXAMINE(7),
        /**
         * 整改待验收
         */
        UN_ACCEPT(8),
        /**
         * 完成整改
         */
        FINISH_RECTIFY(9);
        private int value;
        private InspectPublicStatus(int value){
            this.value=value;
        }
        public int getValue(){
            return value;
        }
    }

    /**
     * 通知关联的类型
     */
    public enum SysNoticeType{
        /**
         * 应急响应的通知id类型值
         */

        /**
         * 应急响应发布通知
         */
        EMG_PLAN_PUBLIC(1),
        /**
         * 应急响应解除通知
         */
        EMG_PLAN_RELIEVE(2),
        DANGER_INSPECT_PUBLIC(3),
        DANGER_INSPECT_RELIEVE(4),
        EMG_HANDLE_REPORT(5);
        private int value;

        private SysNoticeType(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }
    public enum SysNoticeStatus{
        /**
         * 通知是保存的状态
         */
        SAVE(0),
        /**
         * 通知是发布的状态
         */
        PUBLIC(1);
        private int value;

        private SysNoticeStatus(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }
    /**
     * 物资操作的类型
     */
    public enum EmgGoodsOperation{
        GOODS_OUT(0),
        GOODS_RETURN(1);
        private int value;
        EmgGoodsOperation(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }

    public enum SysFileType{
        //1表示content未填或者其他，0表示预案的id，1表示发布预案的id，2表示处理事件的id，
        // 3表示发布的处理事件的id，4表示隐患排查的照片，5表示隐患排查表的附件,6是隐患整改之后的照片，
        // 7是日常培训的照片，8是预算计划的附件，9是费用投入的费用报销单附件，10受伤获赔附件
        /**
         * 应急预案的照片
         */
        EMG_PLAN(0),
        /**
         * 发布的应急预案的文件
         */
        EMG_PLAN_PUBLIC(1),
        /**
         * 应急处置的文件
         */
        EMG_HANDLE(2),
        /**
         * 发布的应急处置时间的文件
         */
        EMG_HANDLE_PUBLIC(3),
        /**
         * 隐患照片
         */
        DANGER_PIC(4),
        /**
         * 隐患表的附件
         */
        DANGER_INSPECT_ATTACH(5),
        /**
         * 隐患整改后的照片
         */
        DANGER_REFORM_PIC(6),
        /**
         *日常培训的照片
         */
        DALIY_TRAIN_PIC(7),
        /**
         * 临时整改措施的照片
         */
        TEMP_MEASURE_PIC(11),
        /**
         * 督办的照片
         */
        SUPERVISE_PIC(12),
        /**
         * 督办的附件
         */
        SUPERVISE_ATAACHMENT(13),
        /**
         * 整改单的附件
         */
        REFORM_SHEET_ATAACHMENT(15),
        /**
         * 风险告知书文件
         */
        RISK_NOTICE_FILE(16),
        /**
         * 责任书
         */
        RESPONSIBILITY_FILE(17),
        /**
         *头像
         */
        HEAD_FILE(18),
        /**
         * 任务里面的检查表的检查项的文件id
         */
        TASK_TABLE_LIST_FILE(19),
        /**
         *任务的文件id
         */
        TASK_REFORM_FILE(20),
        /**
         * 验收的文件
         */
        TASK_RECORD_REFORM_ACCEPT_FILE(21),
        /**
         * 任务文件
         */
        TASK_FILE(22),
        /**
         * 企业对应的营业执照
         */
        ENTERPRISE_FILE(23),
        /**
         * 隐患记录对应的案例图片
         */
        TASK_RECORD_CASE_FILE(24),
        /**
         * wps文件
         */
        WPS_FILE(25),
        /**
         * 风险告知卡的图标
         */
        RISK_MASK_FILE(26),
        /**
         * 四色风险告知卡
         */
        FOUR_COLOR_RISK_CHART(27),
        /**
         * 企业生成的风险报告
         */
        ENTERPRISE_REPORT_FILE(28),
        /**
         * 企业位置图片
         */
        LOCATION_PIC(29),
        /**
         * 企业周边环境图片
         */
        SURROUNDING_PIC(30),
        /**
         * 企业风险区域图 四色图
         */
        RISK_AREA_PIC(31)
        ;

        SysFileType(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }

        private int value;
    }

    public enum EmgPlanPublicStatus{

    }
    /**
     * 定时任务状态
     *
     * @author chenshun
     * @email sunlightcs@gmail.com
     * @date 2016年12月3日 上午12:07:22
     */
    public enum ScheduleStatus {
        /**
         * 正常
         */
        NORMAL(0),
        /**
         * 暂停
         */
        PAUSE(1);

        private int value;

        ScheduleStatus(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }
    }
    public enum ReplyType{
        /**
         * 整改回执
         */
        REFORM_REPLY(0),
        /**
         * 督办回执
         */
        SUPERVISE_REPLY(1);

        ReplyType(int value) {
            this.value = value;
        }

        public int getValue() {
            return value;
        }

        public void setValue(int value) {
            this.value = value;
        }

        private int value;
    }

    /**
     * 工作简报的状态
     */
    public enum WorkBriefStatus{
        /**
         * 还未发布，只是保存状态
         */
        UNPUBLIC(0),
        /**
         * 已经发布保存
         */
        PUBLIC(1);

        public int getValue() {
            return value;
        }

        public void setValue(int value) {
            this.value = value;
        }

        private int value;
        WorkBriefStatus(int value) {
            this.value = value;
        }
    }

    /**
     * 定时任务关联的业务id类型
     */
    public enum ScheduleJobIdType{
        /**
         * 工作简报
         */
        WORKBRIEF(1),

        /**
         * 发布的应急处置的startPlanPublicId
         */
        EMGPLANPUBLIC(2);
        public int getValue() {
            return value;
        }

        public void setValue(int value) {
            this.value = value;
        }
        ScheduleJobIdType(int value) {
            this.value = value;
        }
        private int value;
    }
    /**
     * 定时任务关联的业务id类型
     */
    public enum ScheduleJobTriggerType{
        /**
         * Cron类型的trigger，复杂的
         */
        CRONTRIGGER(0),
        /**
         *简单的trigger
         */
        SIMPLETRIGGER(1);
        public int getValue() {
            return value;
        }

        public void setValue(int value) {
            this.value = value;
        }
        ScheduleJobTriggerType(int value) {
            this.value = value;
        }
        private int value;
    }
   public static String ROLE_ADMIN="admin";
    /** 超级管理员ID */
    public static final int SUPER_ADMIN = 1;
}
